#include <iostream>
#include <queue>
#include <vector>
using namespace std;

void test1() {
	priority_queue<int> heap1;
	priority_queue<int,vector<int>,less<int>> heap2;
	priority_queue<int,vector<int>,greater<int>> heap3;
	
	int a[10] = {1, 41, 23, 10, 11, 2, -1, 99, 14, 0};
	
	for(int i = 0;i < 10;i++){
		heap2.push(a[i]);
		heap3.push(a[i]);
	}
	
	while(heap2.size()){
		cout << heap2.top() << " ";
		heap2.pop();
	} 
	cout << endl;
	
	while(!heap3.empty()){
		cout << heap3.top() << " ";
		heap3.pop();
	} 
}

int main(){
//	priority_queue<int> heap;
//	
//	int a[10] = {1, 41, 23, 10, 11, 2, -1, 99, 14, 0};
//	
//	for(int i = 0;i < 10;i++){
//		heap.push(a[i]);
//	}	
//	while(heap.size()){
//		cout << heap.top() << " ";
//		heap.pop();
//	}
	test1();
	return 0; 
} 
